package com.ruicar.afs.cloud.common.mq.finance.cancel.dto;

import com.alibaba.fastjson.annotation.JSONField;
import com.ruicar.afs.cloud.common.modules.contract.enums.BusinessTypeEnum;
import com.ruicar.afs.cloud.common.modules.contract.enums.ReceiptSourceTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * <p>Description: </p>
 *
 * @author ZC.GUO
 * @version 1.0
 * @date create on 2020-07-31 09:36
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CancelSuccessDto implements Serializable {

    /**  收据id by ZC.GUO  **/
    @JSONField(name = "receiptId")
    private Long receiptId;
    /**  客户号 by ZC.GUO  **/
    @JSONField(name = "custNo")
    private String custNo;
    /**  收款来源 by ZC.GUO  **/
    @JSONField(name = "sourceType")
    private ReceiptSourceTypeEnum sourceType;
    /**  撤销金额 by ZC.GUO  **/
    @JSONField(name = "cancelAmt")
    private BigDecimal cancelAmt;
    /**  撤销的已分配金额 by ZC.GUO  **/
    @JSONField(name = "usedAmt")
    private BigDecimal usedAmt;
    /**  撤销的未分配金额 by ZC.GUO  **/
    @JSONField(name = "unusedAmt")
    private BigDecimal unusedAmt;
    /**  合同号 by ZC.GUO  **/
    @JSONField(name = "contractNo")
    private String contractNo ;
    /**  操作人 by ZC.GUO  **/
    @JSONField(name = "operator")
    private String operator ;
    /**  明细 by ZC.GUO  **/
    @JSONField(name = "details")
    List<CancelDetailDto> details;
    @ApiModelProperty("埋点编号")
    @JSONField(name = "buriedPointNo")
    private String buriedPointNo;
    @ApiModelProperty("车辆品牌")
    @JSONField(name = "carBrand")
    private String carBrand;
    @ApiModelProperty("金融产品")
    @JSONField(name = "financialProducts")
    private String financialProducts;
    @ApiModelProperty("供应商名称")
    @JSONField(name = "dealerName")
    private String dealerName;
    @ApiModelProperty("业务类型 枚举值")
    @JSONField(name = "businessType")
    private BusinessTypeEnum businessType;

}
